Computer viruses, spyware, other types of malware, and hacker's unauthorized access/use of computer systems have been a problem for many years. Often, a first step in such unauthorized access/use of a computer is to gain a foothold on the target computer via a security vulnerability. The executable code, script, macro, or other technique to gain this initial foothold may be referred to as an exploit, or exploit code. Once the foothold has been accomplished, the actual malware may be installed and executed, although in some cases, the exploit and malware may be the same executable. An industry has developed around detection of viruses, malware, and detection of known techniques for infiltrating computers. Numerous companies deliver virus protection and removal software and firewall products each targeted at identifying known threats and preventing known hacking techniques from infiltrating a computer.
Similarly, operating system and application program vendors are watchful for vulnerabilities that allow hackers and malware authors to gain access to a system. However, hackers and virus authors are both clever and persistent. New exploit code and methods are always being developed and deployed. To date, the only source of information for preventative measures was to analyze successful hacks and determine after the fact how to identify and block attempts or remove results of a previously unknown incursion. However, in some cases, after successfully installing the malware, the exploit code may be ‘cleaned up,’ to cover the actual vulnerability.